Device drivers enable communication between an application on a computing device and devices connected to the computing device. Device drivers use driver interfaces to provide a standard interface between an application and the device driver that allows the application to interact with a device. Often several device drivers support a single device or a class of devices. This may be because of technology changes, product obsolescence, behavior differences, or specialization. Conventionally, a user of a computer system must determine which device driver to use for interfacing an application with a device.
Determining the appropriate device driver to use for interfacing an application with a device can be difficult. Many times the user's knowledge of device drivers is inadequate to select the most appropriate device driver for an application or a selected device. As a result, the user does not know if the most appropriate device driver has been selected for a particular device.